package com.zmn.oms.common.enums;

import com.zmn.consts.DictModel;
import com.zmn.oms.common.constant.ConfRedistributeConsts;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.ArrayList;
import java.util.List;

/**
 * 类描述: 改派方式 枚举类
 *
 * @author: liudi
 * @since: 2022/05/06 20:26ConfDistributeReasonConsts
 */
@AllArgsConstructor
@Getter
public enum ConfRedistributeTypeEnum {

	/**
	 * 系统改派
	 */
	SYSTEM(ConfRedistributeConsts.REDISTRIBUTE_TYPE_SYSTEM, "系统改派"),

	/**
	 * 指定改派
	 */
	SPECIFY(ConfRedistributeConsts.REDISTRIBUTE_TYPE_SPECIFY, "指定改派"),

	/**
	 * 驳回改派
	 */
	REJECT(ConfRedistributeConsts.REDISTRIBUTE_TYPE_REJECT, "驳回改派");

	private Integer code;
	private String name;


	/**
	 * 改派方式列表
	 *
	 * @return
	 */
	public static List<DictModel> getRedistributeTypeList() {
		List<DictModel> items = new ArrayList<>(3);
		items.add(new DictModel(ConfRedistributeConsts.REDISTRIBUTE_TYPE_SYSTEM, "系统改派"));
		items.add(new DictModel(ConfRedistributeConsts.REDISTRIBUTE_TYPE_SPECIFY, "指定改派"));
		items.add(new DictModel(ConfRedistributeConsts.REDISTRIBUTE_TYPE_REJECT, "驳回改派"));
		return items;
	}

	/**
	 * 根据 改派方式 查询名称
	 *
	 * @param type
	 * @return
	 */
	public static String getNameByType(int type){
		for (ConfRedistributeTypeEnum redistributeTypeEnum : ConfRedistributeTypeEnum.values()){
			if(redistributeTypeEnum.getCode() == type){
				return redistributeTypeEnum.getName();
			}
		}
		return "";
	}
}
